home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1990 September: Essentials 4 / ADC Developer CD (1990-09) [Essentials 4]_iso / Developer Essentials 4.iso / d e v e l o p / develop 4 code / C++ Driver / iacDriver / installDriver.c < prev    next >
MacBinary  |  1990-05-28  |  3.9 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon May 28 18:29:13 1990, modified Mon May 28 18:29:13 1990, creator 'MPS ', type ASCII, 3434 bytes "installDriver.c" magic text fragment for file(1) cmd, 1st line "#include⇥"installDriver.h"", 2nd line "/**********************************Comment*****************************************", 3rd line " * Main opens the resource file containing the driver ("iacDriver"). If there's a", 4th line " * problem opening the file, it returns ResError (mainly for debugging). Otherwise,", 5th line " * it looks for a "slot" in the UnitTable into which the driver can be placed. If", at 0xdea 382 bytes resource magic text fragment for file(1) cmd, 1st line "#include⇥"installDriver.h"", 2nd line "/**********************************Comment*****************************************", 3rd line " * Main opens the resource file containing the driver ("iacDriver"). If there's a", 4th line " * problem opening the file, it returns ResError (mainly for debugging). Otherwise,", 5th line " * it looks for a "slot" in the UnitTable into which the driver can be placed. If" default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0f 69 6e 73 74 61 6c | 6c 44 72 69 76 65 72 2e |..instal|lDriver.|
|00000010| 63 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |c.......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 c0 00 c0 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 0d 6a 00 | 00 01 7e a2 87 56 b9 a2 |......j.|..~..V..|
|00000060| 87 56 b9 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.V......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 08 4c 00 00 |........|.....L..|
|00000080| 23 69 6e 63 6c 75 64 65 | 09 22 69 6e 73 74 61 6c |#include|."instal|
|00000090| 6c 44 72 69 76 65 72 2e | 68 22 0d 2f 2a 2a 2a 2a |lDriver.|h"./****|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 43 6f |********|******Co|
|000000c0| 6d 6d 65 6e 74 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |mment***|********|
|000000d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 20 |********|******. |
|000000f0| 2a 20 4d 61 69 6e 20 6f | 70 65 6e 73 20 74 68 65 |* Main o|pens the|
|00000100| 20 72 65 73 6f 75 72 63 | 65 20 66 69 6c 65 20 63 | resourc|e file c|
|00000110| 6f 6e 74 61 69 6e 69 6e | 67 20 74 68 65 20 64 72 |ontainin|g the dr|
|00000120| 69 76 65 72 20 28 22 69 | 61 63 44 72 69 76 65 72 |iver ("i|acDriver|
|00000130| 22 29 2e 20 20 49 66 20 | 74 68 65 72 65 27 73 20 |"). If |there's |
|00000140| 61 0d 20 2a 20 70 72 6f | 62 6c 65 6d 20 6f 70 65 |a. * pro|blem ope|
|00000150| 6e 69 6e 67 20 74 68 65 | 20 66 69 6c 65 2c 20 69 |ning the| file, i|
|00000160| 74 20 72 65 74 75 72 6e | 73 20 52 65 73 45 72 72 |t return|s ResErr|
|00000170| 6f 72 20 28 6d 61 69 6e | 6c 79 20 66 6f 72 20 64 |or (main|ly for d|
|00000180| 65 62 75 67 67 69 6e 67 | 29 2e 20 20 4f 74 68 65 |ebugging|). Othe|
|00000190| 72 77 69 73 65 2c 0d 20 | 2a 20 69 74 20 6c 6f 6f |rwise,. |* it loo|
|000001a0| 6b 73 20 66 6f 72 20 61 | 20 22 73 6c 6f 74 22 20 |ks for a| "slot" |
|000001b0| 69 6e 20 74 68 65 20 55 | 6e 69 74 54 61 62 6c 65 |in the U|nitTable|
|000001c0| 20 69 6e 74 6f 20 77 68 | 69 63 68 20 74 68 65 20 | into wh|ich the |
|000001d0| 64 72 69 76 65 72 20 63 | 61 6e 20 62 65 20 70 6c |driver c|an be pl|
|000001e0| 61 63 65 64 2e 20 20 49 | 66 0d 20 2a 20 69 74 20 |aced. I|f. * it |
|000001f0| 66 69 6e 64 73 20 61 20 | 22 73 6c 6f 74 22 20 69 |finds a |"slot" i|
|00000200| 74 20 63 61 6c 6c 73 20 | 74 68 65 20 70 72 6f 63 |t calls |the proc|
|00000210| 65 64 75 72 65 20 63 68 | 61 6e 67 65 44 52 56 52 |edure ch|angeDRVR|
|00000220| 53 6c 6f 74 20 74 6f 20 | 69 6e 73 74 61 6c 6c 20 |Slot to |install |
|00000230| 74 68 65 20 64 72 69 76 | 65 72 20 0d 20 2a 20 69 |the driv|er . * i|
|00000240| 6e 74 6f 20 74 68 61 74 | 20 73 6c 6f 74 2e 0d 20 |nto that| slot.. |
|00000250| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000270| 2a 2a 45 6e 64 20 43 6f | 6d 6d 65 6e 74 2a 2a 2a |**End Co|mment***|
|00000280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002a0| 2a 2f 0d 70 61 73 63 61 | 6c 20 6d 61 69 6e 28 29 |*/.pasca|l main()|
|000002b0| 0d 7b 0d 4f 53 45 72 72 | 20 09 65 72 72 6f 72 3b |.{.OSErr| .error;|
|000002c0| 0d 73 68 6f 72 74 09 09 | 74 73 53 6c 6f 74 3b 0d |.short..|tsSlot;.|
|000002d0| 0d 65 72 72 6f 72 20 3d | 20 4f 70 65 6e 52 65 73 |.error =| OpenRes|
|000002e0| 46 69 6c 65 28 22 5c 70 | 69 61 63 44 72 69 76 65 |File("\p|iacDrive|
|000002f0| 72 22 29 3b 0d 69 66 28 | 65 72 72 6f 72 20 21 3d |r");.if(|error !=|
|00000300| 20 2d 31 29 0d 09 7b 0d | 09 69 66 28 28 74 73 53 | -1)..{.|.if((tsS|
|00000310| 6c 6f 74 20 3d 20 6c 6f | 6f 6b 46 6f 72 53 6c 6f |lot = lo|okForSlo|
|00000320| 74 49 6e 55 6e 69 74 54 | 61 62 6c 65 28 29 29 20 |tInUnitT|able()) |
|00000330| 21 3d 20 30 29 0d 09 09 | 63 68 61 6e 67 65 44 52 |!= 0)...|changeDR|
|00000340| 56 52 53 6c 6f 74 28 74 | 73 53 6c 6f 74 29 3b 0d |VRSlot(t|sSlot);.|
|00000350| 09 7d 0d 65 6c 73 65 0d | 09 65 72 72 6f 72 20 3d |.}.else.|.error =|
|00000360| 20 52 65 73 45 72 72 6f | 72 28 29 3b 0d 7d 0d 0d | ResErro|r();.}..|
|00000370| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000390| 2a 2a 2a 43 6f 6d 6d 65 | 6e 74 2a 2a 2a 2a 2a 2a |***Comme|nt******|
|000003a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003c0| 2a 2a 2a 0d 20 2a 20 6c | 6f 6f 6b 46 6f 72 53 6c |***. * l|ookForSl|
|000003d0| 6f 74 49 6e 55 6e 69 74 | 54 61 62 6c 65 20 72 65 |otInUnit|Table re|
|000003e0| 74 75 72 6e 73 20 61 20 | 73 68 6f 72 74 20 63 6f |turns a |short co|
|000003f0| 72 72 65 73 70 6f 6e 64 | 69 6e 67 20 74 6f 20 61 |rrespond|ing to a|
|00000400| 20 76 61 6c 69 64 20 22 | 73 6c 6f 74 22 20 6e 75 | valid "|slot" nu|
|00000410| 6d 62 65 72 2e 20 20 49 | 74 27 6c 6c 0d 20 72 61 |mber. I|t'll. ra|
|00000420| 6e 67 65 20 66 72 6f 6d | 20 34 38 20 74 6f 20 55 |nge from| 48 to U|
|00000430| 6e 69 74 4e 54 72 79 43 | 6e 74 2e 20 20 49 66 20 |nitNTryC|nt. If |
|00000440| 74 68 65 72 65 20 61 72 | 65 20 6e 6f 20 73 6c 6f |there ar|e no slo|
|00000450| 74 73 20 61 76 61 69 6c | 61 62 6c 65 20 69 74 20 |ts avail|able it |
|00000460| 72 65 74 75 72 6e 73 20 | 30 2e 20 20 45 73 73 65 |returns |0. Esse|
|00000470| 6e 74 69 61 6c 6c 79 20 | 77 68 61 74 0d 20 77 65 |ntially |what. we|
|00000480| 27 72 65 20 64 6f 69 6e | 67 20 68 65 72 65 20 69 |'re doin|g here i|
|00000490| 73 20 73 74 61 72 74 69 | 6e 67 20 61 74 20 74 68 |s starti|ng at th|
|000004a0| 65 20 45 4e 44 20 6f 66 | 20 74 68 65 20 55 6e 69 |e END of| the Uni|
|000004b0| 74 54 61 62 6c 65 2c 20 | 74 65 73 74 69 6e 67 20 |tTable, |testing |
|000004c0| 74 68 65 20 76 61 6c 75 | 65 20 61 74 20 65 61 63 |the valu|e at eac|
|000004d0| 68 0d 20 6c 6f 6e 67 2d | 77 6f 72 64 20 6c 6f 63 |h. long-|word loc|
|000004e0| 61 74 69 6f 6e 20 74 6f | 20 73 65 65 20 69 66 20 |ation to| see if |
|000004f0| 69 74 27 73 20 6e 69 6c | 2e 20 20 49 66 20 69 74 |it's nil|. If it|
|00000500| 27 73 20 6e 69 6c 2c 20 | 74 68 61 74 20 6d 65 61 |'s nil, |that mea|
|00000510| 6e 73 20 77 65 20 63 61 | 6e 20 70 6c 61 63 65 20 |ns we ca|n place |
|00000520| 6f 75 72 20 64 72 69 76 | 65 72 0d 20 61 74 20 74 |our driv|er. at t|
|00000530| 68 61 74 20 6c 6f 63 61 | 74 69 6f 6e 2c 20 73 6f |hat loca|tion, so|
|00000540| 20 77 65 27 6c 6c 20 72 | 65 74 75 72 6e 20 74 68 | we'll r|eturn th|
|00000550| 65 20 76 61 6c 75 65 20 | 6f 66 20 74 68 65 20 22 |e value |of the "|
|00000560| 73 6c 6f 74 22 2e 0d 20 | 2a 2a 2a 2a 2a 2a 2a 2a |slot".. |********|
|00000570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 45 6e 64 20 43 6f |********|**End Co|
|00000590| 6d 6d 65 6e 74 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |mment***|********|
|000005a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 73 68 6f 72 74 |********|*/.short|
|000005c0| 20 0d 6c 6f 6f 6b 46 6f | 72 53 6c 6f 74 49 6e 55 | .lookFo|rSlotInU|
|000005d0| 6e 69 74 54 61 62 6c 65 | 28 29 0d 7b 0d 73 68 6f |nitTable|().{.sho|
|000005e0| 72 74 09 09 73 6c 6f 74 | 3b 0d 50 74 72 09 09 74 |rt..slot|;.Ptr..t|
|000005f0| 68 65 42 61 73 73 3b 0d | 6c 6f 6e 67 09 09 2a 74 |heBass;.|long..*t|
|00000600| 68 65 56 6f 69 64 50 74 | 72 3b 0d 42 6f 6f 6c 65 |heVoidPt|r;.Boole|
|00000610| 61 6e 20 09 66 6f 75 6e | 64 53 6c 6f 74 3b 0d 0d |an .foun|dSlot;..|
|00000620| 73 6c 6f 74 20 3d 20 2a | 28 28 73 68 6f 72 74 20 |slot = *|((short |
|00000630| 2a 29 28 55 6e 69 74 4e | 74 72 79 43 6e 74 29 29 |*)(UnitN|tryCnt))|
|00000640| 20 2d 20 31 3b 0d 74 68 | 65 42 61 73 73 20 3d 20 | - 1;.th|eBass = |
|00000650| 28 50 74 72 29 20 28 2a | 28 28 6c 6f 6e 67 20 2a |(Ptr) (*|((long *|
|00000660| 29 20 28 55 54 61 62 6c | 65 42 61 73 65 29 29 29 |) (UTabl|eBase)))|
|00000670| 3b 0d 0d 66 6f 75 6e 64 | 53 6c 6f 74 20 3d 20 66 |;..found|Slot = f|
|00000680| 61 6c 73 65 3b 0d 0d 77 | 68 69 6c 65 28 73 6c 6f |alse;..w|hile(slo|
|00000690| 74 3e 34 38 20 26 26 20 | 21 66 6f 75 6e 64 53 6c |t>48 && |!foundSl|
|000006a0| 6f 74 29 20 0d 09 7b 0d | 09 74 68 65 56 6f 69 64 |ot) ..{.|.theVoid|
|000006b0| 50 74 72 20 3d 20 28 6c | 6f 6e 67 20 2a 29 28 74 |Ptr = (l|ong *)(t|
|000006c0| 68 65 42 61 73 73 20 2b | 20 28 34 4c 20 2a 20 73 |heBass +| (4L * s|
|000006d0| 6c 6f 74 29 29 3b 0d 09 | 0d 09 69 66 28 2a 74 68 |lot));..|..if(*th|
|000006e0| 65 56 6f 69 64 50 74 72 | 20 3d 3d 20 30 4c 29 0d |eVoidPtr| == 0L).|
|000006f0| 09 09 66 6f 75 6e 64 53 | 6c 6f 74 20 3d 20 74 72 |..foundS|lot = tr|
|00000700| 75 65 3b 0d 09 09 0d 09 | 73 6c 6f 74 20 2d 3d 20 |ue;.....|slot -= |
|00000710| 31 3b 0d 09 7d 0d 09 0d | 73 6c 6f 74 20 2b 3d 20 |1;..}...|slot += |
|00000720| 31 3b 0d 0d 69 66 28 21 | 66 6f 75 6e 64 53 6c 6f |1;..if(!|foundSlo|
|00000730| 74 29 0d 09 73 6c 6f 74 | 20 3d 20 30 3b 0d 09 0d |t)..slot| = 0;...|
|00000740| 72 65 74 75 72 6e 20 73 | 6c 6f 74 3b 0d 7d 0d 0d |return s|lot;.}..|
|00000750| 0d 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./******|********|
|00000760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000770| 2a 2a 2a 2a 43 6f 6d 6d | 65 6e 74 2a 2a 2a 2a 2a |****Comm|ent*****|
|00000780| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000790| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000007a0| 2a 2a 2a 2a 0d 2a 20 63 | 68 61 6e 67 65 44 52 56 |****.* c|hangeDRV|
|000007b0| 52 53 6c 6f 74 20 69 6e | 73 74 61 6c 6c 73 20 74 |RSlot in|stalls t|
|000007c0| 68 65 20 64 72 69 76 65 | 72 20 69 6e 74 6f 20 74 |he drive|r into t|
|000007d0| 68 65 20 73 6c 6f 74 20 | 70 61 73 73 65 64 20 69 |he slot |passed i|
|000007e0| 6e 2e 20 20 42 65 63 61 | 75 73 65 20 77 65 20 77 |n. Beca|use we w|
|000007f0| 61 6e 74 20 74 6f 20 6b | 65 65 70 0d 2a 20 6f 75 |ant to k|eep.* ou|
|00000800| 72 20 44 52 56 52 20 72 | 65 73 6f 75 72 63 65 20 |r DRVR r|esource |
|00000810| 49 44 20 69 6e 20 74 68 | 65 20 72 65 73 6f 75 72 |ID in th|e resour|
|00000820| 63 65 20 66 69 6c 65 20 | 74 68 65 20 73 61 6d 65 |ce file |the same|
|00000830| 20 61 73 20 69 74 20 65 | 76 65 72 20 77 61 73 2c | as it e|ver was,|
|00000840| 20 77 65 20 47 65 74 52 | 65 73 49 6e 66 6f 20 6f | we GetR|esInfo o|
|00000850| 6e 0d 2a 20 69 74 2c 20 | 61 6e 64 20 74 68 65 6e |n.* it, |and then|
|00000860| 20 73 65 74 20 69 74 20 | 62 61 63 6b 20 6c 61 74 | set it |back lat|
|00000870| 65 72 2e 20 20 42 75 74 | 2c 20 62 65 66 6f 72 65 |er. But|, before|
|00000880| 20 77 65 20 73 65 74 20 | 69 74 20 62 61 63 6b 2c | we set |it back,|
|00000890| 20 77 65 20 73 65 74 20 | 74 68 65 20 49 44 20 6f | we set |the ID o|
|000008a0| 66 20 74 68 65 20 0d 2a | 20 44 52 56 52 20 72 65 |f the .*| DRVR re|
|000008b0| 73 6f 75 72 63 65 20 65 | 71 75 61 6c 20 74 6f 20 |source e|qual to |
|000008c0| 74 68 65 20 73 6c 6f 74 | 20 66 6f 75 6e 64 2c 20 |the slot| found, |
|000008d0| 61 6e 64 20 74 68 65 6e | 20 63 61 6c 6c 20 4f 70 |and then| call Op|
|000008e0| 65 6e 44 72 69 76 65 72 | 2e 20 20 4f 70 65 6e 44 |enDriver|. OpenD|
|000008f0| 72 69 76 65 72 20 75 73 | 65 73 20 74 68 65 0d 2a |river us|es the.*|
|00000900| 20 72 65 73 6f 75 72 63 | 65 20 49 44 20 6f 66 20 | resourc|e ID of |
|00000910| 74 68 65 20 44 52 56 52 | 20 72 65 73 6f 75 72 63 |the DRVR| resourc|
|00000920| 65 20 74 6f 20 70 6c 61 | 63 65 20 69 74 20 69 6e |e to pla|ce it in|
|00000930| 20 74 68 65 20 55 6e 69 | 74 54 61 62 6c 65 20 2d | the Uni|tTable -|
|00000940| 2d 20 70 72 65 74 74 79 | 20 65 61 73 79 20 68 75 |- pretty| easy hu|
|00000950| 68 3f 0d 2a 20 54 68 65 | 20 6f 6e 6c 79 20 6f 74 |h?.* The| only ot|
|00000960| 68 65 72 20 74 72 69 63 | 6b 79 20 74 68 69 6e 67 |her tric|ky thing|
|00000970| 20 69 73 20 77 65 20 68 | 61 76 65 20 74 6f 20 44 | is we h|ave to D|
|00000980| 65 74 61 63 68 20 74 68 | 65 20 72 65 73 6f 75 72 |etach th|e resour|
|00000990| 63 65 20 62 79 20 63 61 | 6c 6c 69 6e 67 20 44 65 |ce by ca|lling De|
|000009a0| 74 61 63 68 52 65 73 6f | 75 72 63 65 0d 2a 20 73 |tachReso|urce.* s|
|000009b0| 6f 20 74 68 65 20 72 65 | 73 6f 75 72 63 65 20 64 |o the re|source d|
|000009c0| 6f 65 73 6e 27 74 20 67 | 6f 20 61 77 61 79 20 77 |oesn't g|o away w|
|000009d0| 68 65 6e 20 74 68 65 20 | 72 65 73 6f 75 72 63 65 |hen the |resource|
|000009e0| 20 66 69 6c 65 20 67 65 | 74 73 20 63 6c 6f 73 65 | file ge|ts close|
|000009f0| 64 20 28 74 68 65 20 52 | 65 73 6f 75 72 63 65 0d |d (the R|esource.|
|00000a00| 2a 20 4d 61 6e 61 67 65 | 72 20 69 73 20 6f 75 72 |* Manage|r is our|
|00000a10| 20 66 72 69 65 6e 64 29 | 2e 20 20 54 68 65 20 72 | friend)|. The r|
|00000a20| 65 73 6f 75 72 63 65 20 | 66 69 6c 65 20 67 65 74 |esource |file get|
|00000a30| 73 20 63 6c 6f 73 65 64 | 20 77 68 65 6e 20 74 68 |s closed| when th|
|00000a40| 65 20 49 4e 49 54 20 73 | 74 6f 70 73 20 65 78 65 |e INIT s|tops exe|
|00000a50| 63 75 74 69 6e 67 2e 0d | 20 2a 2a 2a 2a 2a 2a 2a |cuting..| *******|
|00000a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 45 6e 64 20 43 |********|***End C|
|00000a80| 6f 6d 6d 65 6e 74 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |omment**|********|
|00000a90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000aa0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2f 0d 76 6f 69 64 |********|**/.void|
|00000ab0| 0d 63 68 61 6e 67 65 44 | 52 56 52 53 6c 6f 74 28 |.changeD|RVRSlot(|
|00000ac0| 73 68 6f 72 74 20 73 6c | 6f 74 29 20 09 0d 7b 0d |short sl|ot) ..{.|
|00000ad0| 48 61 6e 64 6c 65 09 09 | 74 68 65 44 52 56 52 3b |Handle..|theDRVR;|
|00000ae0| 0d 73 68 6f 72 74 09 09 | 09 65 72 72 2c 20 72 65 |.short..|.err, re|
|00000af0| 66 4e 75 6d 3b 0d 63 68 | 61 72 09 09 09 2a 6e 61 |fNum;.ch|ar...*na|
|00000b00| 6d 65 2c 20 44 52 56 52 | 6e 61 6d 65 5b 32 35 36 |me, DRVR|name[256|
|00000b10| 5d 3b 0d 73 68 6f 72 74 | 09 09 09 44 52 56 52 69 |];.short|...DRVRi|
|00000b20| 64 3b 0d 52 65 73 54 79 | 70 65 09 09 44 52 56 52 |d;.ResTy|pe..DRVR|
|00000b30| 54 79 70 65 3b 0d 0d 6e | 61 6d 65 20 3d 20 22 5c |Type;..n|ame = "\|
|00000b40| 70 2e 54 69 6d 44 72 69 | 76 65 72 22 3b 0d 0d 69 |p.TimDri|ver";..i|
|00000b50| 66 28 73 6c 6f 74 20 21 | 3d 20 30 29 20 7b 09 09 |f(slot !|= 0) {..|
|00000b60| 0d 09 74 68 65 44 52 56 | 52 20 3d 20 47 65 74 4e |..theDRV|R = GetN|
|00000b70| 61 6d 65 64 52 65 73 6f | 75 72 63 65 28 27 44 52 |amedReso|urce('DR|
|00000b80| 56 52 27 2c 20 6e 61 6d | 65 29 3b 0d 09 47 65 74 |VR', nam|e);..Get|
|00000b90| 52 65 73 49 6e 66 6f 28 | 74 68 65 44 52 56 52 2c |ResInfo(|theDRVR,|
|00000ba0| 20 26 44 52 56 52 69 64 | 2c 20 26 44 52 56 52 54 | &DRVRid|, &DRVRT|
|00000bb0| 79 70 65 2c 20 26 44 52 | 56 52 6e 61 6d 65 29 3b |ype, &DR|VRname);|
|00000bc0| 0d 09 53 65 74 52 65 73 | 49 6e 66 6f 28 74 68 65 |..SetRes|Info(the|
|00000bd0| 44 52 56 52 2c 20 73 6c | 6f 74 2c 20 30 4c 29 3b |DRVR, sl|ot, 0L);|
|00000be0| 0d 09 20 0d 09 65 72 72 | 20 3d 20 4f 70 65 6e 44 |.. ..err| = OpenD|
|00000bf0| 72 69 76 65 72 28 6e 61 | 6d 65 2c 20 26 72 65 66 |river(na|me, &ref|
|00000c00| 4e 75 6d 29 3b 0d 09 69 | 66 28 65 72 72 20 3d 3d |Num);..i|f(err ==|
|00000c10| 20 6e 6f 45 72 72 29 0d | 09 09 7b 0d 09 09 2f 2a | noErr).|..{.../*|
|00000c20| 20 64 65 74 61 63 68 20 | 74 68 65 20 72 65 73 6f | detach |the reso|
|00000c30| 75 72 63 65 73 20 66 72 | 6f 6d 20 74 68 65 20 72 |urces fr|om the r|
|00000c40| 65 73 6f 75 72 63 65 20 | 6d 61 70 20 2a 2f 0d 09 |esource |map */..|
|00000c50| 09 44 65 74 61 63 68 52 | 65 73 6f 75 72 63 65 28 |.DetachR|esource(|
|00000c60| 74 68 65 44 52 56 52 29 | 3b 0d 20 0d 09 09 7d 0d |theDRVR)|;. ...}.|
|00000c70| 09 2f 2a 20 52 65 73 74 | 6f 72 65 73 20 74 68 65 |./* Rest|ores the|
|00000c80| 20 70 72 65 76 69 6f 75 | 73 20 72 65 73 6f 75 72 | previou|s resour|
|00000c90| 63 65 20 61 74 74 72 69 | 62 75 74 65 73 20 73 6f |ce attri|butes so|
|00000ca0| 20 74 68 65 79 20 64 6f | 6e 27 74 20 63 68 61 6e | they do|n't chan|
|00000cb0| 67 65 0d 09 20 2a 20 66 | 72 6f 6d 20 73 74 61 72 |ge.. * f|rom star|
|00000cc0| 74 75 70 20 74 6f 20 73 | 74 61 72 74 75 70 2e 20 |tup to s|tartup. |
|00000cd0| 20 57 65 20 6a 75 73 74 | 20 77 61 6e 74 20 74 68 | We just| want th|
|00000ce0| 65 20 69 6e 2d 6d 65 6d | 6f 72 79 20 63 6f 70 79 |e in-mem|ory copy|
|00000cf0| 20 74 6f 20 68 61 76 65 | 0d 09 20 2a 20 61 20 64 | to have|.. * a d|
|00000d00| 69 66 66 65 72 65 6e 74 | 20 49 44 20 6e 75 6d 62 |ifferent| ID numb|
|00000d10| 65 72 20 2d 2d 20 6e 6f | 74 20 6f 75 72 20 72 65 |er -- no|t our re|
|00000d20| 73 6f 75 72 63 65 20 69 | 6e 20 74 68 65 20 66 69 |source i|n the fi|
|00000d30| 6c 65 20 20 20 20 20 20 | 20 20 2a 2f 0d 09 74 68 |le | */..th|
|00000d40| 65 44 52 56 52 20 3d 20 | 47 65 74 4e 61 6d 65 64 |eDRVR = |GetNamed|
|00000d50| 52 65 73 6f 75 72 63 65 | 28 27 44 52 56 52 27 2c |Resource|('DRVR',|
|00000d60| 20 6e 61 6d 65 29 3b 0d | 09 53 65 74 52 65 73 49 | name);.|.SetResI|
|00000d70| 6e 66 6f 28 74 68 65 44 | 52 56 52 2c 20 44 52 56 |nfo(theD|RVR, DRV|
|00000d80| 52 69 64 2c 20 6e 69 6c | 29 3b 0d 09 7d 0d 7d 0d |Rid, nil|);..}.}.|
|00000d90| 0d 0d 73 68 6f 72 74 20 | 0d 72 73 72 63 49 44 28 |..short |.rsrcID(|
|00000da0| 73 68 6f 72 74 20 69 64 | 2c 20 73 68 6f 72 74 20 |short id|, short |
|00000db0| 44 52 56 52 52 65 66 4e | 75 6d 29 0d 7b 0d 72 65 |DRVRRefN|um).{.re|
|00000dc0| 74 75 72 6e 28 30 78 43 | 30 30 30 20 2b 20 28 7e |turn(0xC|000 + (~|
|00000dd0| 44 52 56 52 52 65 66 4e | 75 6d 20 3c 3c 20 35 29 |DRVRRefN|um << 5)|
|00000de0| 20 2b 20 69 64 29 3b 0d | 7d 0d 00 00 00 00 00 00 | + id);.|}.......|
|00000df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e00| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00000e10| 00 00 2d 27 0b 69 61 63 | 44 72 69 76 65 72 2e 68 |..-'.iac|Driver.h|
|00000e20| 02 00 00 00 54 45 58 54 | 4d 50 53 20 01 00 00 40 |....TEXT|MPS ...@|
|00000e30| 0f 69 6e 73 74 61 6c 6c | 44 72 69 76 65 72 2e 63 |.install|Driver.c|
|00000e40| 02 00 00 00 54 45 58 54 | 4d 50 53 20 01 00 00 c0 |....TEXT|MPS ....|
|00000e50| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 c0 00 c0 |..TEXTMP|S ......|
|00000e60| 00 00 00 e6 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e70| 00 00 a2 29 67 39 00 00 | 0d 6a 00 00 01 7e 00 00 |...)g9..|.j...~..|
|00000e80| 00 00 00 00 00 00 14 00 | 00 00 2d 27 0e 69 61 63 |........|..-'.iac|
|00000e90| 44 72 69 76 65 72 2e 6d | 61 6b 65 2d 02 00 00 00 |Driver.m|ake-....|
|00000ea0| 54 45 58 54 4d 50 53 20 | 01 00 00 80 00 00 00 00 |TEXTMPS |........|
|00000eb0| 00 00 2e 94 00 00 00 00 | 03 ca 00 00 06 00 00 00 |........|........|
|00000ec0| 00 00 01 7e 00 00 06 00 | a2 29 44 6b a2 29 74 3a |...~....|.)Dk.)t:|
|00000ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ee0| 00 00 00 00 00 00 21 45 | 00 01 00 00 00 00 00 00 |......!E|........|
|00000ef0| 00 00 21 49 00 01 00 00 | 00 00 00 00 00 00 00 00 |..!I....|........|
|00000f00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 4b |...H..Mo|naco...K|
|00000f10| 00 00 00 14 00 01 a5 60 | 00 0a 00 4b 00 22 00 57 |.......`|...K.".W|
|00000f20| 02 1b 02 1b 00 00 00 06 | 00 03 00 50 00 20 01 54 |........|...P. .T|
|00000f30| 02 4a 00 50 00 20 01 54 | 02 4a a2 87 10 69 00 00 |.J.P. .T|.J...i..|
|00000f40| 05 9d 00 00 05 9d 00 00 | 0b 41 01 00 00 00 01 00 |........|.A......|
|00000f50| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 21 4b e0 |...L...L|...2.!K.|
|00000f60| 0c 7e 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.~.....2|..MPSR..|
|00000f70| 00 0a 03 ed ff ff 00 00 | 00 00 00 22 f3 34 00 00 |........|...".4..|
+--------+-------------------------+-------------------------+--------+--------+